The process or ability to automatically update a client application (i.e., an application that runs on client devices and computers) is important not only for the addition of new features in a newer version of the product, it is also very important for timely installation of crucial bug fixes and security patches. Typically, the update process for any client application requires user interaction, which can be complicated or even incomprehensible for many novice users and irritating for others. Specifically, firewalls on client devices and computers can prevent client applications from being automatically updated. Normally, when an application that sends data to a server is run for the first time on a client device or server, a firewall user interface will appear on the device or computer with a warning message (this may be called a software authentication message). If the user recognizes the name of the application or software product that is attempting to send a message to a server, or if the user just installed a new program on his or her computer or device and therefore assumes that the firewall message relates to the newly installed program, the user typically allows the application to submit data to another computer on the internet. Normally users select the “allow” option (as opposed to the “disallow” option) presented by the firewall program because they just installed a new program and want the new program to be able to work properly. However, applications that are mostly silent and auto-update (i.e., request an update from a server without any user action to prompt this action) can cause a jarring experience during updates. With no warning, users just see a message from their firewall asking if a specific program is to be allowed to send data to a server, and instinctively select the “disallow” option because the users do not recognize the name of the program. This makes it very difficult to auto-update silent applications.